<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/cookie.js"></script>
</head>

<body>
    <button class="set">创建</button>
    <button class="get">获取</button>
</body>
<script>

    // cookie的缺点:
    // 1. cookie不能跨网站 
    // 2. cookie不能跨浏览器
    // 3. cookie可能被禁用 / 删除
    // 4. cookie的安全性较低
    // 5. cookie使用键值对形式存在的字符串 =>  键名/键值 只能是字符串类型,如果存储其他类型 => 会隐式转化为字符串

    //  问题: cookie中存储 数组/对象 等数据类型 => 隐式转化为字符串 => 结构就不清晰了?

    // 解决方法: 
    // 存储时: 数组和对象存储到cookie之前 先转化为json字符串 => 再存储
    // 使用时: 先从cookie中取出对应的JSON字符串 再解析


    // 6. cookie存储中文, 有些浏览器(老版本)存储中文会乱码 => 解决




    var set = document.getElementsByClassName("set")[0];
    var get = document.getElementsByClassName("get")[0];

    set.onclick = function () {
        // setCookie("user", "a123123", 31 * 24 * 60 * 60);
        // setCookie("pwd", "123123", 31 * 24 * 60 * 60);
        // setCookie("phone", "17386141517");
        // setCookie("email", "1272071495@qq.com");

        var arr = [1, 2, 3];
        var obj = { a: 1, b: 2 };

        setCookie("num", 100, 31 * 24 * 60 * 60);  // "100"
        setCookie("bool", true, 31 * 24 * 60 * 60); // "true"
        setCookie("a", null, 31 * 24 * 60 * 60); // "null"
        // setCookie("arr", arr, 31 * 24 * 60 * 60); //  "1, 2, 3"
        // setCookie("obj", obj, 31 * 24 * 60 * 60); // "[object Object]"

        setCookie("arr", JSON.stringify(arr), 31 * 24 * 60 * 60);
        setCookie("obj", JSON.stringify(obj), 31 * 24 * 60 * 60);

    }


    get.onclick = function () {
        console.log(1, document.cookie);
        console.log(getCookie("num"));
        console.log(getCookie("bool"));
        console.log(getCookie("a"));
        // console.log(getCookie("arr"));
        // console.log(getCookie("obj"));


        console.log(JSON.parse(getCookie("arr")));
        console.log(JSON.parse(getCookie("obj")));
    }


</script>

</html>